The present disclosure relates to software development, and more specifically, to providing a framework for dynamic globalization enablement in a software development environment.
Globalization enablement relates to adapting computer software to conform to requirements of a given locale. The requirements may include adherence to languages and cultural conventions, such as code sets, character classifications, character comparison rules, character collation order, monetary formatting, numeric punctuation, date and time formatting, and the like. Many businesses that provide applications to international markets use some form of globalization enablement to adapt the applications for those markets. Applications that include globalization functionality typically invoke application programming interface (API) methods at initialization to localize the application to be specific to a target region, e.g., such that the language is set to that of the users of the region, numbering conventions adhere to that of the region, currency symbols are set to that of the region, etc.
Including globalization features in an application is typically complex. During the development phase of a given application, a developer needs to know where in the application source code to insert appropriate API calls to provide certain globalization features. For example, in some development environments, a specific sequence of API calls is necessary to insert the globalization feature into the application. In some cases, a developer may call a given API method at an ineffective location or in the wrong sequence, which may result in the globalization feature being non-functional at runtime of the application. Further, in other cases, developers may directly hard-code message string literals in a given language (e.g., English, Chinese) for user interface components (e.g., error messages, status messages, menu items), rather than calling the appropriate API methods to determine an appropriate language that a given user interface component should display.
Consequently, providing globalization enablement to a given application is prone to errors. Typically, to address such errors, the application may undergo global verification testing to ensure that such errors are identified prior to deployment. However, as many businesses adopt modern software development operation paradigms, such windows for testing have grown smaller. And as a result, the application may be deployed with globalization feature-related errors intact. Therefore, more reliable methods for globalization enablement in software development are desirable.